import time
import datetime

# 装饰器函数，统计程序运行的时间长度
def metric(fn):
    def calTime(*args, **kw):
        # 记录开始时间
        start_time = time.time()
        print(start_time)
        # 执行目标函数
        fn(*args, **kw)
        # 记录结束时间
        end_time = time.time()
        print(end_time)
        # 两个时间相减
        duration = end_time - start_time
        # print(duration.total_seconds())   %.10f
        print('{}函数耗时{:.8f}s'.format(fn.__name__, duration))
    return calTime

@metric
def testTitle():
    NAMES =  ['MIKE','Adidas', 'coffee','wONDer','ElePHANt','pyTHoN','oRANGe']
    def normalize(name):
        # 把每个单词的第一个字母转化为大写，其余小写
        return name.title()

    L2 = list(map(normalize,NAMES))
    print(L2)

# 测算testTitle函数执行所用的时间
# testTitle()

@metric
def testSquare():
    # 求i的平方，返回一个x列表
    x=[i**2 for i in range(500000)]
    # print(x)

testSquare()
